vue3的tsx写法(v | 您所在的位置:网站首页 › v if v else使用 › vue3的tsx写法(v |
1、如下就是vue3的tsx写法,tsx写法中支持使用v-show,如下: import {ref} from 'vue' let appData = ref(''); let flag = false; const renderDom = () => { return ( flag}> {appData.value}111111 appData.value}222222 ) } export default renderDom引入app.vue中如下: 我是根组件 // 导入 RouterView import { provide, ref } from 'vue' import { RouterView } from "vue-router"; import renderDom from './App.tsx' provide('flag', ref(false)) html, body, #app { height: 100%; width: 100%; color: #fff; .app_tsx{ color:red; font-size:30px; } }2、当我们在tsx中使用v-if的时候,就会报错 import {ref} from 'vue' let appData = ref(''); let flag = false; const renderDom = () => { return ( flag}> {appData.value}111111 appData.value}222222 ) } export default renderDom
3、既然v-if不可以在tsx语法糖中使用,那么v-for呢?如下: import {ref} from 'vue' let appData = ref(''); let arr = [1,2,3,4,5,6,7,8] const renderDom = () => { return ( item in arr}> ) } export default renderDomv-for这么使用也是报错:如下 4、v-bind在tsx中的用法 ❎错误用法: import {ref} from 'vue' let appData = ref(''); let arr = [1,2,3,4,5,6,7,8] const renderDom = () => { return ( arr.map(item => { return ( item}) })} ) } export default renderDom
5、v-on在tsx中用法 ❎错误用法 import {ref} from 'vue' let appData = ref(''); let arr = [1,2,3,4,5,6,7,8] const renderDom = () => { return ( arr.map(item => { return ( item}) })} ) } const handleClick = () => { console.log(1111) } export default renderDom✅正确用法:(不可以使用修饰符) import {ref} from 'vue' let appData = ref(''); let arr = [1,2,3,4,5,6,7,8] const renderDom = () => { return ( arr.map(item => { return ( item}) })} ) } const handleClick = (item:number) => { console.log(item) } export default renderDom6、tsx的props传值(父组件给子组件传值) ①父组件 我是根组件 // 导入 RouterView import { provide, ref } from 'vue' import { RouterView } from "vue-router"; import renderDom from './App.tsx' provide('flag', ref(false)) html, body, #app { height: 100%; width: 100%; color: #fff; .app_tsx{ color:red; font-size:30px; } }②子组件props import {ref} from 'vue' type Props = { title:string } const renderDom = (props:Props) => { return ( {props.title} ) } export default renderDom7、子组件给父组件传值 ①子组件 import {ref} from 'vue' type Props = { title:string } const renderDom = (props:Props,ctx:any) => { return ( ctx.emit('on-click',220) } export default renderDom②父组件 我是根组件 // 导入 RouterView import { provide, ref } from 'vue' import { RouterView } from "vue-router"; import renderDom from './App.tsx' provide('flag', ref(false)) const handleEmit=(val:number)=>{ console.log(val) } html, body, #app { height: 100%; width: 100%; color: #fff; .app_tsx{ color:red; font-size:30px; } } |
CopyRight 2018-2019 实验室设备网 版权所有 |